home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 2 / Gekikoh Dennoh Club Vol. 2 (Japan).7z / Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin / tools / ldbmp08 / ldbmp08s.lzh / VHALF.S < prev   
Text File  |  1996-02-05  |  1KB  |  70 lines

  1. *********************************************************************************
  2. *    トーンの変更                                *
  3. *********************************************************************************
  4.  
  5.     .include    doscall.mac
  6.     .include    iocscall.mac
  7.     .include    myconst.h
  8.  
  9. main:
  10.     clr.l    -(sp)            *スーパーバイザモードへ
  11.     DOS    _SUPER
  12.     addq.l    #4,sp
  13.     move.l    d0,-(sp)
  14.  
  15.     bsr    _Tone_down
  16.  
  17.     DOS    _SUPER            *ユーザーモードへ
  18.     addq.l    #4,sp
  19.  
  20.     DOS    _EXIT
  21.  
  22. *****************************************************************
  23. *    トーン落とし                        *
  24. *****************************************************************
  25. _Tone_down:
  26.     movem.l    d1-d7/a1-a2,-(sp)
  27.     move.l    #$e82400,a1        *色モードを調べる
  28.     move.w    (a1),d1
  29.     andi.w    #$0003,d1
  30.     cmp.w    #1,d1
  31.     bcs    down16
  32.     beq    down256
  33.     bra    down64k
  34. down16:
  35.     move.w    #16-1,d1
  36.     bsr    pal_down
  37.     bra    tone_down9
  38. down256:
  39.     move.w    #256-1,d1
  40.     bsr    pal_down
  41.     bra    tone_down9
  42. down64k:
  43.     move.l    #$e82600,a1
  44.     ori.w    #$1b00,(a1)        *半透明オン(参考:JPEGED.R)
  45. *    bra    tone_down9
  46. tone_down9:
  47.     movem.l    (sp)+,d1-d7/a1-a2
  48.     rts
  49.  
  50. pal_down:
  51.     movea.l    #GPAL,a1
  52.     move.w    #%0000_0000_0011_1100,d5
  53.     move.w    #%0000_0111_1000_0000,d6
  54.     move.w    #%1111_0000_0000_0000,d7
  55. pal_down1:
  56.     move.w    (a1),d2
  57.     move.w    d2,d3
  58.     move.w    d2,d4
  59.     and.w    d5,d2
  60.     and.w    d6,d3
  61.     and.w    d7,d4
  62.     lsr.w    #1,d2
  63.     lsr.w    #1,d3
  64.     lsr.w    #1,d4
  65.     or.w    d3,d2
  66.     or.w    d4,d2
  67.     move.w    d2,(a1)+
  68.     dbra.w    d1,pal_down1
  69.     rts
  70.